// src/plugins/axios.js
import axios from 'axios';
import { ElMessage } from 'element-plus'
import { useToken } from '../untils/token'

axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
  // 配置axios
  const instance = axios.create({
    baseURL: "/dev-api",
  });
 
  // 添加请求拦截器
  instance.interceptors.request.use(
    config => {
      let {getToken} = useToken();
      //判断是否需要传入token
      const isToken = (config.headers || {}).isToken == true
      if (isToken && getToken()) {
        config.headers['Authorization'] = 'Bearer ' + getToken()
      }
      // 在发送请求前做些什么
      return config;
    },
    error => {
      // 对请求错误做些什么
      return Promise.reject(error);
    }
  );
 
  // 添加响应拦截器
  instance.interceptors.response.use(
    response => {
      // 对响应数据做点什么
      //在这里判断 返回的数据的code是不是200  如果是200  如果不是200  就弹出错误信息
      if (response.data.code != 200) {
        ElMessage.error(response.data.msg);
        return Promise.reject(response.data.msg);
      }else{
        return response.data;
      }
    },
    error => {
      // 对响应错误做点什么
      return Promise.reject(error);
    }
  );
export default instance;